본문으로 건너뛰기

Q. 순수 함수의 규칙과 사용하는 이유에 대해서 설명해 주세요.

🧑🏻‍💻 Answer.


✅ 정의

  • 순수 함수는 입력에 대해 항상 동일한 출력을 반환하는 함수입니다.

✅ 순수 함수 만족조건

  • 동일한 입력에 대해 항상 동일한 출력을 반환해야 합니다.

  • 외부 상태를 변경하거나 외부 데이터에 의존해서는 안 됩니다. (no side effects)

  • 부작용이 없어야 합니다. 즉, 함수 호출로 인해 시스템의 상태가 변하지 않아야 합니다.

    → 예를 들면 전역변수를 재할당하거나, DOM을 편집하거나, console.log 처럼 로그를 찍거나, new Date() 와 같이 시간에 의존하면 안됩니다.

✅ 사용하는 이유

  • 순수 함수는 예측 가능성이 높습니다. 동일한 입력을 주면 항상 동일한 결과를 얻을 수 있어 버그를 줄이고 코드를 이해하기 쉽게 만듭니다. 이는 테스트 및 디버깅을 수월하게 해줍니다.

  • 순수 함수는 재사용성이 높습니다. 다른 부분에서 쉽게 재사용할 수 있으며, 라이브러리로 공유하기에 좋습니다.